package com.shamar.blog.service;

import com.shamar.blog.dto.BlogContentExecution;
import com.shamar.blog.entity.BlogContent;
import org.apache.ibatis.annotations.Param;


/**
 * @desc 后台博客内容Service
 * @author fxm
 * @date 2020-08-02 22:29
 */
public interface BlogContentService {
	/**
	 * 根据blogContentCondition查询博文(博文列表)
	 * @param blogContentCondition
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	BlogContentExecution selectByBlogContentCondition(BlogContent blogContentCondition, int pageIndex, int pageSize);

	/**
	 * 获取所有博文
	 * @return
	 */
	BlogContentExecution getAllBlogContent();

	/**
	 * 根据传入的BlogContent实体更新相应的记录
	 * @param blogContent
	 * @return
	 */
	BlogContentExecution updateBlogContent(BlogContent blogContent);

	BlogContentExecution addBlogContent(BlogContent blogContent,Integer status);
	/**
	 * 根据主键删除博文
	 * @param id
	 * @return
	 */
	BlogContentExecution deleteByPrimaryKey(Integer id);

	/**
	 * 根据传入的index判断要有条件获得的博文列表,index为取值条件,如最近,最受欢迎
	 * @param index
	 * @return
	 */
	BlogContentExecution getIndexContent(Integer index);
	/**
	 * 根据参数查询博文 参数包括 博文添加,排序的字段,排序的方式,limit 0,10
	 * @param blogContentCondition
	 * @param orderParam
	 * @param orderWay
	 * @param rowIndex
	 * @param pageSize
	 * @return
	 */
	BlogContentExecution selectByBlogContentConditionPagination(@Param("blogContentCondition") BlogContent blogContentCondition, @Param("order_param") String orderParam, @Param("order_way") String orderWay, @Param("rowIndex") int rowIndex, @Param("pageSize") int pageSize);

	/**
	 * 根据博文id获取博文,包括分类名称
	 * @param id
	 * @return
	 */
	BlogContentExecution selectByPrimaryKey(Integer id);

}
